package bavaria.hightech.banking.bank;

import bavaria.hightech.banking.account.Account;
import bavaria.hightech.banking.account.AccountType;
import bavaria.hightech.banking.condition.ContractPeriod;

public interface BankCustomersView {
	public Account newAccount(String owner, AccountType type,
			ContractPeriod runtime);

	public Money getBalance(int accountnumber);

	public void deposit(int accountnumber, Money deposit, String reason)
			throws AccountNotFoundException;

	public void drawout(int accountnumber, Money drawout, String reason)
			throws Exception;

	public void transfer(int accountnumber, Money transfer, String reason,
			int transferKonto) throws Exception;

	public String getConditionString(int accountnumber);
}
